The present invention relates generally to messaging systems, e.g., voice-mail and e-mail systems, and more particularly to a Universal Messaging system providing integrated voice, data and fax messaging services to PC-based, including Web-based, clients.
Universal Messaging enables subscribers to realize the benefits of unified messaging, which consolidates the notification, presentation and management of voice, fax and e-mail messages. With Universal Messaging, a subscriber need only check a single notification device for new messages. Such notification may be provided, e.g., by an e-mail message, message waiting indicator light, stutter dial tone, pager and/or an automatic outdial phone call.
Universal Messaging may also include consolidated message presentation. For example, instead of using a telephone handset to pick up voice messages, a fax machine to pick up fax messages, and a PC to pick up e-mail messages, a subscriber could process all his or her messages with a telephone handset or a multimedia PC, or the like.
A first aspect of the invention disclosed herein relates to the xe2x80x9csession-basedxe2x80x9d character of many messaging systems, including systems providing combined e-mail and voice/fax mail services. In a session-based system, the user enters his or her password and is logged into a xe2x80x9csession,xe2x80x9d i.e., an active communications connection between computers or applications over a network. A session is basically a data conversation between two devices, such as a dumb terminal and a mainframe. If the session is terminated for any reason, the user must log back in. In contrast, the Internet (e.g., World Wide Web, or simply Web) may be considered sessionless, since it is based on a request-response paradigm that uses the HTTP protocol. No actual session is created when a Web browser accesses a xe2x80x9cpagexe2x80x9d of the Web. What occurs is that the browser issues an HTTP request to a Web server hosting that page, and the Web server transfers the HTML code for the page to the browser; but no session is maintained. Any subsequent access of that Web page or to links within that page are performed using another HTTP request/response sequence.
To make a Universal Messaging system compatible with a xe2x80x9csessionlessxe2x80x9d Web browser interface, it would be advantageous to provide a way to initiate and maintain a session with respect to the voice/fax messaging components of the system. Since a voice messaging system typically handles interactions with callers or subscribers via a telephone, a very session-based connection, there would be a benefit in making interactions with PC-based clients, including those utilizing a sessionless Web connection, appear to the voice/fax messaging component as if coming from a session-based interface, such as a telephone handset. Consider, for example, the case of a very large messaging system having thousand or hundreds of thousands of subscribers. If such a system were to provide access to PC or Web-based clients, a great strain would be placed on the system if such clients were required to xe2x80x9clog onxe2x80x9d (i.e., enter a user name and password) each and every time an HTTP request were sent to the messaging system. One aspect of the present invention addresses this problem.
A second aspect of the present invention concerns the need to provide support for new message types specifically targeted for the delivery of multimedia content. Such message types will preferably be ignored by normal e-mail clients but will be visible to clients specifically adapted to recognize them. The present invention provides a solution to this challenge by providing a novel approach to controlling access to different types of content in a messaging system. This aspect of the invention permits the use of existing Universal Messaging platform capabilities to address, store, transport, and deliver multimedia content packaged as attachments to uniquely identified e-mail messages.
A third aspect of the present invention concerns the use of TCP/IP (Transmission Control Protocol/Internet Protocol) for the transmission of messages in a Universal Messaging system. TCP/IP is a well known networking protocol that provides communications across interconnected networks and between computers with diverse hardware architectures and operating system. TCP is a connection-oriented protocol. It first establishes a connection between the two systems that intend to exchange data. When an application sends a message to TCP for transmission, TCP breaks the message into packets and sends them over the network. Because a single message is often broken into many packets, TCP marks these packets with sequence numbers before sending them. The sequence numbers allow the receiving system to properly reassemble the packets into the original message. The IP subset of TCP/IP is the messenger protocol that addresses and sends packets. TCP/IP divides networking functionality into the following four layers: (1) a Network Interface Layer that corresponds to the OSI Physical and Data Link Layers; (2) an Internet Layer that corresponds to the OSI network layer; (3) a Transport Layer, which corresponds to the OSI Transport Layer; and (4) an Application Layer corresponding to the session, presentation and application layers of the OSI model. The Application Layer manages the functions required by user programs, including protocols for remote log-in (Telnet), file transfer (FTP) and electronic mail (SMTP).
The third aspect of the present invention addresses the need for improved speed in transferring large data objects in a Universal Messaging system. Particularly, the problem is that data passing through the CMC interface, session management, and TCP/IP stacks of a Universal Messaging system necessarily cross a number of software process boundaries with substantial overhead. For example, having to cross at least two TCP/IP stacks (such as, e.g., in the system described below, in communicating messages from messaging platform 10 to server complex (Web platform) 12 and from server complex 12 to PC Client 20) adds significant overhead alone. While this may not be a problem for smaller files, such as e-mail messages and control information, it can be a significant problem for larger data objects, such as audio, graphics (fax images), and video. The overhead and protocols that the data must traverse can be too great to deliver such large data objects to the subscriber efficiently. The present invention addresses this problem as well.
Further background information concerning the construction and operation of messaging systems, and particularly one employing a Network Applications Platform (NAP) for interfacing a telephone network and network applications running on an enterprise server, may be found in: U.S. Pat. No. 5,133,004, Jul. 21, 1992, xe2x80x9cDigital Computer Platform for Supporting Telephone Network Applicationsxe2x80x9d; U.S. Pat. No. 5,138,710, Aug. 11, 1992, xe2x80x9cApparatus and Method for Providing Recoverability in Mass Storage Data Base Systems Without Audit Trail Mechanismsxe2x80x9d; U.S. Pat. No. 5,384,829, Jan. 24, 1995, xe2x80x9cDigital Computer Platform for Supporting Telephone Network Applicationsxe2x80x9d; U.S. Pat. No. 5,323,450, Jun. 21, 1994, xe2x80x9cTelephone Network Applications Platform for Supporting Facsimile Applicationsxe2x80x9d; U.S. Pat. No. 5,494,606, Feb. 20, 1996, xe2x80x9cMulti-Lingual Prompt Management System for a Network Applications Platformxe2x80x9d; U.S. Pat. No. 5,633,916, May 27, 1997, xe2x80x9cUniversal Messaging Service Using Single Voice Grade Telephone Line Within a Client/Server Architecturexe2x80x9d; U.S. patent application Ser. No. 08/944,924, filed Oct. 6, 1997, xe2x80x9cEnhanced Multi-Lingual Prompt Management in a Voice Messaging System With Support for Speech Recognitionxe2x80x9d; U.S. patent application Ser. No. 08/964,744, filed Nov. 5, 1997, xe2x80x9cMethods and Apparatus for Providing External Access to Executable Call Flows of a Network Applicationxe2x80x9d; U.S. patent application Ser. No. 08/987,571, filed De. 11, 1997, xe2x80x9cMultiple Language Electronic Mail Notification of Received Voice and/or Fax Messagesxe2x80x9d; and U.S. patent application Ser. No. 09/094,026, filed on even date herewith, xe2x80x9cSystem and Method for Integrating Notification Functions of Two Messaging Systems in a Universal Messaging Solutionxe2x80x9d.
The present invention provides Universal Messaging services to subscribers that may utilize the Internet to access their messages. The invention integrates an e-mail messaging system with a voice/fax messaging system on a messaging platform computer. E-mail messages are stored in an e-mail message store, and voice and/or fax messages are stored in a separate store controlled, e.g., by a Voice Mail Message Manager (VMMM). Subscribers can access messages from a personal computer via the Internet using a standard Web browser with a Java applet that present each subscriber with a xe2x80x9cuniversal inboxxe2x80x9d that displays all of that subscriber""s voice, fax, and e-mail messages. A Web platform controls the Web browser interface to the messaging platform, accepting requests from the Web browser (such as a request to read an e-mail or listen to a voice mail) and passing prescribed types of information back to the Web browser. The Web platform interfaces with the messaging platform via a generic TCP/IP interface/router. A Session Manager application manages the Web browser""s xe2x80x9csessionxe2x80x9d with the messaging system. A CMC layer in the messaging platform provides the xe2x80x9cgluexe2x80x9d to enable communication and control between and among the different message stores. The CMC layer provides an industry standard mechanism for providing a standard API through which access to proprietary message stores can be made.
Thus, a Universal Messaging system in accordance with the present invention comprises a messaging platform supporting an e-mail messaging system and a voice/fax messaging system, wherein messages stored by the e-mail and voice/fax messaging systems are accessible to a remote Web-based client employing a Web browser interface via a wide area communications network coupled to the messaging platform through a session based interface; and session manager means supported by the messaging platform for initiating and maintaining a session between the messaging platform and the Web-based client(s).
In one presently preferred embodiment of the invention, the messaging platform comprises a Common Messaging Calls (CMC) layer, an e-mail message store and a voice/fax message store. According to a preferred implementation of the invention, when the Web-based client first requests access to voice, fax or e-mail message services via the Web browser, the user is required to enter a mail profile identifier and password, and then the session manager means establishes a session with the CMC layer of the messaging platform and associates a session ID with the session, and then the session manager means saves the profile identifier, password and session ID in a session record. Subsequent requests from the Web browser interface are automatically accompanied by the user""s mail profile identifier, password and session ID.
In the preferred embodiment just mentioned, the session manager means attempts to validate each client request against the session record to verify that the user requesting service is already logged in; and a new CMC session is established if the session manager means cannot locate the identifier/password combination in the session record. Moreover, the session manager means automatically logs a user off the CMC layer, deleting the user""s session record, if no activity is detected within a predetermined period of time.
Accordingly, the present invention provides a way to make a Universal Messaging system having a session-based interface compatible with a xe2x80x9csessionlessxe2x80x9d Web browser interface. This is particularly advantageous in a large messaging system since it avoids the need for a separate xe2x80x9clog onxe2x80x9d procedure for each HTTP request by the Web-based client. Thus, for example, the messaging system would not have to rebuild the user""s xe2x80x9cinboxxe2x80x9d every time an HTTP request were sent to the messaging system.
Other features and advantages of the present invention are described below.